intel: Platform common code refactor
authorHadi Asyrafi <[email protected]>
Thu, 1 Aug 2019 06:48:39 +0000 (14:48 +0800)
committerSandrine Bailleux <[email protected]>
Wed, 7 Aug 2019 12:19:11 +0000 (12:19 +0000)
Pull out common code from aarch64 and include

Signed-off-by: Hadi Asyrafi <[email protected]>
Change-Id: I4d0f5e1bb01bcdacbedf8e6c359de594239b645f

27 files changed:
plat/intel/soc/agilex/aarch64/plat_helpers.S [deleted file]
plat/intel/soc/agilex/aarch64/platform_common.c [deleted file]
plat/intel/soc/agilex/include/plat_macros.S [deleted file]
plat/intel/soc/agilex/include/platform_def.h
plat/intel/soc/agilex/include/socfpga_private.h [deleted file]
plat/intel/soc/agilex/platform.mk
plat/intel/soc/agilex/socfpga_psci.c
plat/intel/soc/common/aarch64/plat_helpers.S [new file with mode: 0644]
plat/intel/soc/common/aarch64/platform_common.c [new file with mode: 0644]
plat/intel/soc/common/include/plat_macros.S [new file with mode: 0644]
plat/intel/soc/common/include/socfpga_private.h [new file with mode: 0644]
plat/intel/soc/stratix10/aarch64/plat_helpers.S [deleted file]
plat/intel/soc/stratix10/aarch64/platform_common.c [deleted file]
plat/intel/soc/stratix10/aarch64/stratix10_private.h [deleted file]
plat/intel/soc/stratix10/bl2_plat_setup.c
plat/intel/soc/stratix10/bl31_plat_setup.c
plat/intel/soc/stratix10/include/plat_macros.S [deleted file]
plat/intel/soc/stratix10/include/platform_def.h [new file with mode: 0644]
plat/intel/soc/stratix10/include/platform_private.h [deleted file]
plat/intel/soc/stratix10/include/stratix10_private.h [new file with mode: 0644]
plat/intel/soc/stratix10/plat_psci.c
plat/intel/soc/stratix10/plat_storage.c
plat/intel/soc/stratix10/platform.mk
plat/intel/soc/stratix10/platform_def.h [deleted file]
plat/intel/soc/stratix10/soc/s10_clock_manager.c
plat/intel/soc/stratix10/soc/s10_handoff.c
plat/intel/soc/stratix10/soc/s10_reset_manager.c

diff --git a/plat/intel/soc/agilex/aarch64/plat_helpers.S b/plat/intel/soc/agilex/aarch64/plat_helpers.S
deleted file mode 100644 (file)
index b3f5a5e..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <arch.h>
-#include <asm_macros.S>
-#include <cpu_macros.S>
-#include <platform_def.h>
-
-       .globl  plat_secondary_cold_boot_setup
-       .globl  platform_is_primary_cpu
-       .globl  plat_is_my_cpu_primary
-       .globl  plat_my_core_pos
-       .globl  plat_crash_console_init
-       .globl  plat_crash_console_putc
-       .globl  plat_crash_console_flush
-       .globl  platform_mem_init
-
-       .globl plat_get_my_entrypoint
-
-       /* -----------------------------------------------------
-        * void plat_secondary_cold_boot_setup (void);
-        *
-        * This function performs any platform specific actions
-        * needed for a secondary cpu after a cold reset e.g
-        * mark the cpu's presence, mechanism to place it in a
-        * holding pen etc.
-        * -----------------------------------------------------
-        */
-func plat_secondary_cold_boot_setup
-       /* Wait until the it gets reset signal from rstmgr gets populated */
-poll_mailbox:
-       wfi
-
-       mov_imm x0, PLAT_AGX_SEC_ENTRY
-       ldr     x1, [x0]
-       mov_imm x2, PLAT_CPUID_RELEASE
-       ldr     x3, [x2]
-       mrs     x4, mpidr_el1
-       and     x4, x4, #0xff
-       cmp     x3, x4
-       b.ne    poll_mailbox
-       br      x1
-endfunc plat_secondary_cold_boot_setup
-
-func platform_is_primary_cpu
-       and     x0, x0, #(MPIDR_CLUSTER_MASK | MPIDR_CPU_MASK)
-       cmp     x0, #PLAT_PRIMARY_CPU
-       cset    x0, eq
-       ret
-endfunc platform_is_primary_cpu
-
-func plat_is_my_cpu_primary
-       mrs     x0, mpidr_el1
-       b   platform_is_primary_cpu
-endfunc plat_is_my_cpu_primary
-
-func plat_my_core_pos
-       mrs     x0, mpidr_el1
-       and     x1, x0, #MPIDR_CPU_MASK
-       and     x0, x0, #MPIDR_CLUSTER_MASK
-       add     x0, x1, x0, LSR #6
-       ret
-endfunc plat_my_core_pos
-
-func plat_get_my_entrypoint
-       mov_imm x1, PLAT_AGX_SEC_ENTRY
-       ldr     x0, [x1]
-       ret
-endfunc plat_get_my_entrypoint
-
-       /* ---------------------------------------------
-        * int plat_crash_console_init(void)
-        * Function to initialize the crash console
-        * without a C Runtime to print crash report.
-        * Clobber list : x0, x1, x2
-        * ---------------------------------------------
-        */
-func plat_crash_console_init
-       mov_imm x0, PLAT_UART0_BASE
-       mov_imm x1, PLAT_UART_CLOCK
-       mov_imm x2, PLAT_BAUDRATE
-       b       console_16550_core_init
-endfunc plat_crash_console_init
-
-       /* ---------------------------------------------
-        * int plat_crash_console_putc(void)
-        * Function to print a character on the crash
-        * console without a C Runtime.
-        * Clobber list : x1, x2
-        * ---------------------------------------------
-        */
-func plat_crash_console_putc
-       mov_imm x1, PLAT_UART0_BASE
-       b       console_16550_core_putc
-endfunc plat_crash_console_putc
-
-func plat_crash_console_flush
-       mov_imm x0, CRASH_CONSOLE_BASE
-       b       console_16550_core_flush
-endfunc plat_crash_console_flush
-
-
-       /* --------------------------------------------------------
-        * void platform_mem_init (void);
-        *
-        * Any memory init, relocation to be done before the
-        * platform boots. Called very early in the boot process.
-        * --------------------------------------------------------
-        */
-func platform_mem_init
-       mov     x0, #0
-       ret
-endfunc platform_mem_init
diff --git a/plat/intel/soc/agilex/aarch64/platform_common.c b/plat/intel/soc/agilex/aarch64/platform_common.c
deleted file mode 100644 (file)
index 6d3d817..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <arch.h>
-#include <arch_helpers.h>
-#include <platform_def.h>
-#include <plat/common/platform.h>
-#include <socfpga_private.h>
-
-
-unsigned int plat_get_syscnt_freq2(void)
-{
-       return PLAT_SYS_COUNTER_FREQ_IN_TICKS;
-}
-
-unsigned long socfpga_get_ns_image_entrypoint(void)
-{
-       return PLAT_NS_IMAGE_OFFSET;
-}
-
-/******************************************************************************
- * Gets SPSR for BL32 entry
- *****************************************************************************/
-uint32_t socfpga_get_spsr_for_bl32_entry(void)
-{
-       /*
-        * The Secure Payload Dispatcher service is responsible for
-        * setting the SPSR prior to entry into the BL32 image.
-        */
-       return 0;
-}
-
-/******************************************************************************
- * Gets SPSR for BL33 entry
- *****************************************************************************/
-uint32_t socfpga_get_spsr_for_bl33_entry(void)
-{
-       unsigned long el_status;
-       unsigned int mode;
-       uint32_t spsr;
-
-       /* Figure out what mode we enter the non-secure world in */
-       el_status = read_id_aa64pfr0_el1() >> ID_AA64PFR0_EL2_SHIFT;
-       el_status &= ID_AA64PFR0_ELX_MASK;
-
-       mode = (el_status) ? MODE_EL2 : MODE_EL1;
-
-       /*
-        * TODO: Consider the possibility of specifying the SPSR in
-        * the FIP ToC and allowing the platform to have a say as
-        * well.
-        */
-       spsr = SPSR_64(mode, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS);
-       return spsr;
-}
-
diff --git a/plat/intel/soc/agilex/include/plat_macros.S b/plat/intel/soc/agilex/include/plat_macros.S
deleted file mode 100644 (file)
index 43db9a2..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2019, Intel Corporation. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef PLAT_MACROS_S
-#define PLAT_MACROS_S
-
-#include <platform_def.h>
-
-       /* ---------------------------------------------
-        * The below required platform porting macro
-        * prints out relevant platform registers
-        * whenever an unhandled exception is taken in
-        * BL31.
-        * ---------------------------------------------
-        */
-       .macro plat_crash_print_regs
-       .endm
-
-#endif /* PLAT_MACROS_S */
index 10f733864c8cc6a7b91d080ae03dff4891ecd720..277862a30738580a592caf75c166ad027a50f144 100644 (file)
@@ -15,7 +15,7 @@
 
 
 #define PLAT_CPUID_RELEASE                     0xffe1b000
-#define PLAT_AGX_SEC_ENTRY                     0xffe1b008
+#define PLAT_SEC_ENTRY                         0xffe1b008
 
 /* Define next boot image name and offset */
 #define PLAT_NS_IMAGE_OFFSET                   0x50000
diff --git a/plat/intel/soc/agilex/include/socfpga_private.h b/plat/intel/soc/agilex/include/socfpga_private.h
deleted file mode 100644 (file)
index 6ab1409..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2019, Intel Corporation. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef PLATFORM_PRIVATE_H
-#define PLATFORM_PRIVATE_H
-
-/*******************************************************************************
- * Function and variable prototypes
- ******************************************************************************/
-void socfgpa_configure_mmu_el3(unsigned long total_base,
-                       unsigned long total_size,
-                       unsigned long ro_start,
-                       unsigned long ro_limit,
-                       unsigned long coh_start,
-                       unsigned long coh_limit);
-
-
-void socfpga_configure_mmu_el1(unsigned long total_base,
-                       unsigned long total_size,
-                       unsigned long ro_start,
-                       unsigned long ro_limit,
-                       unsigned long coh_start,
-                       unsigned long coh_limit);
-
-void socfpga_delay_timer_init(void);
-
-void socfpga_gic_driver_init(void);
-
-uint32_t socfpga_get_spsr_for_bl32_entry(void);
-
-uint32_t socfpga_get_spsr_for_bl33_entry(void);
-
-unsigned long socfpga_get_ns_image_entrypoint(void);
-
-
-#endif /* PLATFORM_PRIVATE_H */
index c13709a6e58fb7d6fd504c7ecef9b813dbdcf3c1..5d20462b742fc69c4faccd8e640d565fdd67f1db 100644 (file)
@@ -7,7 +7,8 @@
 #
 PLAT_INCLUDES          :=      \
                        -Iplat/intel/soc/agilex/include/                \
-                       -Iplat/intel/soc/common/drivers/
+                       -Iplat/intel/soc/common/drivers/                \
+                       -Iplat/intel/soc/common/include/
 
 PLAT_BL_COMMON_SOURCES :=      \
                        drivers/arm/gic/common/gic_common.c             \
@@ -19,8 +20,8 @@ PLAT_BL_COMMON_SOURCES        :=      \
                        lib/xlat_tables/aarch64/xlat_tables.c           \
                        lib/xlat_tables/xlat_tables_common.c            \
                        plat/common/plat_gicv2.c                        \
-                       plat/intel/soc/agilex/aarch64/platform_common.c \
-                       plat/intel/soc/agilex/aarch64/plat_helpers.S    \
+                       plat/intel/soc/common/aarch64/platform_common.c \
+                       plat/intel/soc/common/aarch64/plat_helpers.S
 
 BL2_SOURCES     +=     \
                common/desc_image_load.c                                \
index 411e89bddbac990c81b11cea30c503b0b37c5dc2..04d8a0e913762bd2011a3f19b4d633ffe1d0a828 100644 (file)
@@ -17,7 +17,7 @@
 #define AGX_RSTMGR_OFST                        0xffd11000
 #define AGX_RSTMGR_MPUMODRST_OFST      0x20
 
-uintptr_t *agilex_sec_entry = (uintptr_t *) PLAT_AGX_SEC_ENTRY;
+uintptr_t *agilex_sec_entry = (uintptr_t *) PLAT_SEC_ENTRY;
 uintptr_t *cpuid_release = (uintptr_t *) PLAT_CPUID_RELEASE;
 
 /*******************************************************************************
diff --git a/plat/intel/soc/common/aarch64/plat_helpers.S b/plat/intel/soc/common/aarch64/plat_helpers.S
new file mode 100644 (file)
index 0000000..00fe2d9
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <arch.h>
+#include <asm_macros.S>
+#include <cpu_macros.S>
+#include <platform_def.h>
+
+       .globl  plat_secondary_cold_boot_setup
+       .globl  platform_is_primary_cpu
+       .globl  plat_is_my_cpu_primary
+       .globl  plat_my_core_pos
+       .globl  plat_crash_console_init
+       .globl  plat_crash_console_putc
+       .globl  plat_crash_console_flush
+       .globl  platform_mem_init
+
+       .globl plat_get_my_entrypoint
+
+       /* -----------------------------------------------------
+        * void plat_secondary_cold_boot_setup (void);
+        *
+        * This function performs any platform specific actions
+        * needed for a secondary cpu after a cold reset e.g
+        * mark the cpu's presence, mechanism to place it in a
+        * holding pen etc.
+        * -----------------------------------------------------
+        */
+func plat_secondary_cold_boot_setup
+       /* Wait until the it gets reset signal from rstmgr gets populated */
+poll_mailbox:
+       wfi
+
+       mov_imm x0, PLAT_SEC_ENTRY
+       ldr     x1, [x0]
+       mov_imm x2, PLAT_CPUID_RELEASE
+       ldr     x3, [x2]
+       mrs     x4, mpidr_el1
+       and     x4, x4, #0xff
+       cmp     x3, x4
+       b.ne    poll_mailbox
+       br      x1
+endfunc plat_secondary_cold_boot_setup
+
+func platform_is_primary_cpu
+       and     x0, x0, #(MPIDR_CLUSTER_MASK | MPIDR_CPU_MASK)
+       cmp     x0, #PLAT_PRIMARY_CPU
+       cset    x0, eq
+       ret
+endfunc platform_is_primary_cpu
+
+func plat_is_my_cpu_primary
+       mrs     x0, mpidr_el1
+       b   platform_is_primary_cpu
+endfunc plat_is_my_cpu_primary
+
+func plat_my_core_pos
+       mrs     x0, mpidr_el1
+       and     x1, x0, #MPIDR_CPU_MASK
+       and     x0, x0, #MPIDR_CLUSTER_MASK
+       add     x0, x1, x0, LSR #6
+       ret
+endfunc plat_my_core_pos
+
+func plat_get_my_entrypoint
+       mov_imm x1, PLAT_SEC_ENTRY
+       ldr     x0, [x1]
+       ret
+endfunc plat_get_my_entrypoint
+
+       /* ---------------------------------------------
+        * int plat_crash_console_init(void)
+        * Function to initialize the crash console
+        * without a C Runtime to print crash report.
+        * Clobber list : x0, x1, x2
+        * ---------------------------------------------
+        */
+func plat_crash_console_init
+       mov_imm x0, PLAT_UART0_BASE
+       mov_imm x1, PLAT_UART_CLOCK
+       mov_imm x2, PLAT_BAUDRATE
+       b       console_16550_core_init
+endfunc plat_crash_console_init
+
+       /* ---------------------------------------------
+        * int plat_crash_console_putc(void)
+        * Function to print a character on the crash
+        * console without a C Runtime.
+        * Clobber list : x1, x2
+        * ---------------------------------------------
+        */
+func plat_crash_console_putc
+       mov_imm x1, PLAT_UART0_BASE
+       b       console_16550_core_putc
+endfunc plat_crash_console_putc
+
+func plat_crash_console_flush
+       mov_imm x0, CRASH_CONSOLE_BASE
+       b       console_16550_core_flush
+endfunc plat_crash_console_flush
+
+
+       /* --------------------------------------------------------
+        * void platform_mem_init (void);
+        *
+        * Any memory init, relocation to be done before the
+        * platform boots. Called very early in the boot process.
+        * --------------------------------------------------------
+        */
+func platform_mem_init
+       mov     x0, #0
+       ret
+endfunc platform_mem_init
diff --git a/plat/intel/soc/common/aarch64/platform_common.c b/plat/intel/soc/common/aarch64/platform_common.c
new file mode 100644 (file)
index 0000000..6d3d817
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <arch.h>
+#include <arch_helpers.h>
+#include <platform_def.h>
+#include <plat/common/platform.h>
+#include <socfpga_private.h>
+
+
+unsigned int plat_get_syscnt_freq2(void)
+{
+       return PLAT_SYS_COUNTER_FREQ_IN_TICKS;
+}
+
+unsigned long socfpga_get_ns_image_entrypoint(void)
+{
+       return PLAT_NS_IMAGE_OFFSET;
+}
+
+/******************************************************************************
+ * Gets SPSR for BL32 entry
+ *****************************************************************************/
+uint32_t socfpga_get_spsr_for_bl32_entry(void)
+{
+       /*
+        * The Secure Payload Dispatcher service is responsible for
+        * setting the SPSR prior to entry into the BL32 image.
+        */
+       return 0;
+}
+
+/******************************************************************************
+ * Gets SPSR for BL33 entry
+ *****************************************************************************/
+uint32_t socfpga_get_spsr_for_bl33_entry(void)
+{
+       unsigned long el_status;
+       unsigned int mode;
+       uint32_t spsr;
+
+       /* Figure out what mode we enter the non-secure world in */
+       el_status = read_id_aa64pfr0_el1() >> ID_AA64PFR0_EL2_SHIFT;
+       el_status &= ID_AA64PFR0_ELX_MASK;
+
+       mode = (el_status) ? MODE_EL2 : MODE_EL1;
+
+       /*
+        * TODO: Consider the possibility of specifying the SPSR in
+        * the FIP ToC and allowing the platform to have a say as
+        * well.
+        */
+       spsr = SPSR_64(mode, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS);
+       return spsr;
+}
+
diff --git a/plat/intel/soc/common/include/plat_macros.S b/plat/intel/soc/common/include/plat_macros.S
new file mode 100644 (file)
index 0000000..43db9a2
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2019, Intel Corporation. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef PLAT_MACROS_S
+#define PLAT_MACROS_S
+
+#include <platform_def.h>
+
+       /* ---------------------------------------------
+        * The below required platform porting macro
+        * prints out relevant platform registers
+        * whenever an unhandled exception is taken in
+        * BL31.
+        * ---------------------------------------------
+        */
+       .macro plat_crash_print_regs
+       .endm
+
+#endif /* PLAT_MACROS_S */
diff --git a/plat/intel/soc/common/include/socfpga_private.h b/plat/intel/soc/common/include/socfpga_private.h
new file mode 100644 (file)
index 0000000..6ab1409
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2019, Intel Corporation. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef PLATFORM_PRIVATE_H
+#define PLATFORM_PRIVATE_H
+
+/*******************************************************************************
+ * Function and variable prototypes
+ ******************************************************************************/
+void socfgpa_configure_mmu_el3(unsigned long total_base,
+                       unsigned long total_size,
+                       unsigned long ro_start,
+                       unsigned long ro_limit,
+                       unsigned long coh_start,
+                       unsigned long coh_limit);
+
+
+void socfpga_configure_mmu_el1(unsigned long total_base,
+                       unsigned long total_size,
+                       unsigned long ro_start,
+                       unsigned long ro_limit,
+                       unsigned long coh_start,
+                       unsigned long coh_limit);
+
+void socfpga_delay_timer_init(void);
+
+void socfpga_gic_driver_init(void);
+
+uint32_t socfpga_get_spsr_for_bl32_entry(void);
+
+uint32_t socfpga_get_spsr_for_bl33_entry(void);
+
+unsigned long socfpga_get_ns_image_entrypoint(void);
+
+
+#endif /* PLATFORM_PRIVATE_H */
diff --git a/plat/intel/soc/stratix10/aarch64/plat_helpers.S b/plat/intel/soc/stratix10/aarch64/plat_helpers.S
deleted file mode 100644 (file)
index f077cf3..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <arch.h>
-#include <asm_macros.S>
-#include <cpu_macros.S>
-#include <platform_def.h>
-
-       .globl  plat_secondary_cold_boot_setup
-       .globl  platform_is_primary_cpu
-       .globl  plat_is_my_cpu_primary
-       .globl  plat_my_core_pos
-       .globl  plat_crash_console_init
-       .globl  plat_crash_console_putc
-       .globl  plat_crash_console_flush
-       .globl  platform_mem_init
-
-       .globl plat_get_my_entrypoint
-
-       /* -----------------------------------------------------
-        * void plat_secondary_cold_boot_setup (void);
-        *
-        * This function performs any platform specific actions
-        * needed for a secondary cpu after a cold reset e.g
-        * mark the cpu's presence, mechanism to place it in a
-        * holding pen etc.
-        * -----------------------------------------------------
-        */
-func plat_secondary_cold_boot_setup
-       /* Wait until the it gets reset signal from rstmgr gets populated */
-poll_mailbox:
-       wfi
-
-       mov_imm x0, PLAT_S10_SEC_ENTRY
-       ldr     x1, [x0]
-       mov_imm x2, PLAT_CPUID_RELEASE
-       ldr     x3, [x2]
-       mrs     x4, mpidr_el1
-       and     x4, x4, #0xff
-       cmp     x3, x4
-       b.ne    poll_mailbox
-       br      x1
-endfunc plat_secondary_cold_boot_setup
-
-func platform_is_primary_cpu
-       and     x0, x0, #(MPIDR_CLUSTER_MASK | MPIDR_CPU_MASK)
-       cmp     x0, #PLAT_PRIMARY_CPU
-       cset    x0, eq
-       ret
-endfunc platform_is_primary_cpu
-
-func plat_is_my_cpu_primary
-       mrs     x0, mpidr_el1
-       b   platform_is_primary_cpu
-endfunc plat_is_my_cpu_primary
-
-func plat_my_core_pos
-       mrs     x0, mpidr_el1
-       and     x1, x0, #MPIDR_CPU_MASK
-       and     x0, x0, #MPIDR_CLUSTER_MASK
-       add     x0, x1, x0, LSR #6
-       ret
-endfunc plat_my_core_pos
-
-func plat_get_my_entrypoint
-       mov_imm x1, PLAT_S10_SEC_ENTRY
-       ldr     x0, [x1]
-       ret
-endfunc plat_get_my_entrypoint
-
-       /* ---------------------------------------------
-        * int plat_crash_console_init(void)
-        * Function to initialize the crash console
-        * without a C Runtime to print crash report.
-        * Clobber list : x0, x1, x2
-        * ---------------------------------------------
-        */
-func plat_crash_console_init
-       mov_imm x0, PLAT_UART0_BASE
-       mov_imm x1, PLAT_UART_CLOCK
-       mov_imm x2, PLAT_BAUDRATE
-       b       console_16550_core_init
-endfunc plat_crash_console_init
-
-       /* ---------------------------------------------
-        * int plat_crash_console_putc(void)
-        * Function to print a character on the crash
-        * console without a C Runtime.
-        * Clobber list : x1, x2
-        * ---------------------------------------------
-        */
-func plat_crash_console_putc
-       mov_imm x1, PLAT_UART0_BASE
-       b       console_16550_core_putc
-endfunc plat_crash_console_putc
-
-func plat_crash_console_flush
-       mov_imm x0, CRASH_CONSOLE_BASE
-       b       console_16550_core_flush
-endfunc plat_crash_console_flush
-
-
-       /* --------------------------------------------------------
-        * void platform_mem_init (void);
-        *
-        * Any memory init, relocation to be done before the
-        * platform boots. Called very early in the boot process.
-        * --------------------------------------------------------
-        */
-func platform_mem_init
-       mov     x0, #0
-       ret
-endfunc platform_mem_init
-
-
-       .data
-       .align 3
-
diff --git a/plat/intel/soc/stratix10/aarch64/platform_common.c b/plat/intel/soc/stratix10/aarch64/platform_common.c
deleted file mode 100644 (file)
index 094a362..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <arch_helpers.h>
-#include <lib/xlat_tables/xlat_tables.h>
-#include <lib/mmio.h>
-#include <platform_def.h>
-
-unsigned int plat_get_syscnt_freq2(void)
-{
-       return PLAT_SYS_COUNTER_FREQ_IN_TICKS;
-}
-
-unsigned long plat_get_ns_image_entrypoint(void)
-{
-       return PLAT_NS_IMAGE_OFFSET;
-}
-
-/******************************************************************************
- * Gets SPSR for BL32 entry
- *****************************************************************************/
-uint32_t plat_get_spsr_for_bl32_entry(void)
-{
-       /*
-        * The Secure Payload Dispatcher service is responsible for
-        * setting the SPSR prior to entry into the BL32 image.
-        */
-       return 0;
-}
-
-/******************************************************************************
- * Gets SPSR for BL33 entry
- *****************************************************************************/
-uint32_t plat_get_spsr_for_bl33_entry(void)
-{
-       unsigned long el_status;
-       unsigned int mode;
-       uint32_t spsr;
-
-       /* Figure out what mode we enter the non-secure world in */
-       el_status = read_id_aa64pfr0_el1() >> ID_AA64PFR0_EL2_SHIFT;
-       el_status &= ID_AA64PFR0_ELX_MASK;
-
-       mode = (el_status) ? MODE_EL2 : MODE_EL1;
-
-       /*
-        * TODO: Consider the possibility of specifying the SPSR in
-        * the FIP ToC and allowing the platform to have a say as
-        * well.
-        */
-       spsr = SPSR_64(mode, MODE_SP_ELX, DISABLE_ALL_EXCEPTIONS);
-       return spsr;
-}
-
diff --git a/plat/intel/soc/stratix10/aarch64/stratix10_private.h b/plat/intel/soc/stratix10/aarch64/stratix10_private.h
deleted file mode 100644 (file)
index f437202..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef __S10_PRIVATE_H__
-#define __S10_PRIVATE_H__
-
-#define S10_MMC_REG_BASE       0xff808000
-
-#define EMMC_DESC_SIZE         (1<<20)
-#define EMMC_INIT_PARAMS(base)                 \
-       {       .bus_width = MMC_BUS_WIDTH_4,   \
-               .clk_rate = 50000000,           \
-               .desc_base = (base),            \
-               .desc_size = EMMC_DESC_SIZE,    \
-               .flags = 0,                     \
-               .reg_base = S10_MMC_REG_BASE,   \
-               \
-       }
-
-typedef enum {
-       BOOT_SOURCE_FPGA = 0,
-       BOOT_SOURCE_SDMMC,
-       BOOT_SOURCE_NAND,
-       BOOT_SOURCE_RSVD,
-       BOOT_SOURCE_QSPI,
-} boot_source_type;
-
-void enable_nonsecure_access(void);
-void stratix10_io_setup(int boot_source);
-
-#endif
index 78301628e580e1c196f2b554b2e22e8faa5dffe8..8e8b582fc0310b416f1356aa9f6b62cc1a3d80db 100644 (file)
@@ -19,7 +19,7 @@
 #include <common/image_decompress.h>
 #include <plat/common/platform.h>
 #include <platform_def.h>
-#include <platform_private.h>
+#include <socfpga_private.h>
 #include <drivers/synopsys/dw_mmc.h>
 #include <lib/mmio.h>
 #include <lib/xlat_tables/xlat_tables.h>
@@ -29,7 +29,7 @@
 #include "s10_clock_manager.h"
 #include "s10_handoff.h"
 #include "s10_pinmux.h"
-#include "aarch64/stratix10_private.h"
+#include "stratix10_private.h"
 #include "include/s10_mailbox.h"
 #include "qspi/cadence_qspi.h"
 #include "wdt/watchdog.h"
@@ -78,7 +78,7 @@ void bl2_el3_early_platform_setup(u_register_t x0, u_register_t x1,
        console_16550_register(PLAT_UART0_BASE, PLAT_UART_CLOCK, PLAT_BAUDRATE,
                &console);
 
-       plat_delay_timer_init();
+       socfpga_delay_timer_init();
        init_hard_memory_controller();
 }
 
index 21a37087504100d6400581280f05d037001f7ea9..d81d5df5ab556155c9386c697fc2ea0567e2a8a1 100644 (file)
@@ -21,9 +21,8 @@
 #include <lib/mmio.h>
 #include <plat/common/platform.h>
 #include <platform_def.h>
-#include <platform_private.h>
 
-#include "aarch64/stratix10_private.h"
+#include "stratix10_private.h"
 #include "s10_handoff.h"
 #include "s10_reset_manager.h"
 #include "s10_memory_controller.h"
diff --git a/plat/intel/soc/stratix10/include/plat_macros.S b/plat/intel/soc/stratix10/include/plat_macros.S
deleted file mode 100644 (file)
index 495aa9d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2019, Intel Corporation. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef __PLAT_MACROS_S__
-#define __PLAT_MACROS_S__
-
-#include <platform_def.h>
-
-       /* ---------------------------------------------
-        * The below required platform porting macro
-        * prints out relevant platform registers
-        * whenever an unhandled exception is taken in
-        * BL31.
-        * ---------------------------------------------
-        */
-       .macro plat_crash_print_regs
-       .endm
-
-#endif /* __PLAT_MACROS_S__ */
diff --git a/plat/intel/soc/stratix10/include/platform_def.h b/plat/intel/soc/stratix10/include/platform_def.h
new file mode 100644 (file)
index 0000000..a753acd
--- /dev/null
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef __PLATFORM_DEF_H__
+#define __PLATFORM_DEF_H__
+
+#include <arch.h>
+#include <common/bl_common.h>
+#include <common/interrupt_props.h>
+#include <common/tbbr/tbbr_img_def.h>
+#include <drivers/arm/gic_common.h>
+#include <plat/common/common_def.h>
+
+
+#define PLAT_CPUID_RELEASE                     0xffe1b000
+#define PLAT_SEC_ENTRY                         0xffe1b008
+
+/* Define next boot image name and offset */
+#define PLAT_NS_IMAGE_OFFSET                   0x50000
+#define PLAT_HANDOFF_OFFSET                    0xFFE3F000
+
+/*******************************************************************************
+ * Platform binary types for linking
+ ******************************************************************************/
+#define PLATFORM_LINKER_FORMAT                 "elf64-littleaarch64"
+#define PLATFORM_LINKER_ARCH                   aarch64
+
+/* Stratix 10 supports up to 124GB RAM */
+#define PLAT_PHY_ADDR_SPACE_SIZE               (1ULL << 39)
+#define PLAT_VIRT_ADDR_SPACE_SIZE              (1ULL << 39)
+
+
+/*******************************************************************************
+ * Generic platform constants
+ ******************************************************************************/
+#define PLAT_PRIMARY_CPU                       0
+#define PLAT_SECONDARY_ENTRY_BASE              0x01f78bf0
+
+/* Size of cacheable stacks */
+#define PLATFORM_STACK_SIZE                    0x2000
+
+/* PSCI related constant */
+#define PLAT_NUM_POWER_DOMAINS         5
+#define PLAT_MAX_PWR_LVL               1
+#define PLAT_MAX_RET_STATE             1
+#define PLAT_MAX_OFF_STATE             2
+#define PLATFORM_SYSTEM_COUNT                  1
+#define PLATFORM_CLUSTER_COUNT                 1
+#define PLATFORM_CLUSTER0_CORE_COUNT           4
+#define PLATFORM_CLUSTER1_CORE_COUNT           0
+#define PLATFORM_CORE_COUNT            (PLATFORM_CLUSTER1_CORE_COUNT + \
+                                       PLATFORM_CLUSTER0_CORE_COUNT)
+#define PLATFORM_MAX_CPUS_PER_CLUSTER          4
+
+/* Interrupt related constant */
+
+#define INTEL_S10_IRQ_SEC_PHY_TIMER            29
+
+#define INTEL_S10_IRQ_SEC_SGI_0                8
+#define INTEL_S10_IRQ_SEC_SGI_1                9
+#define INTEL_S10_IRQ_SEC_SGI_2                10
+#define INTEL_S10_IRQ_SEC_SGI_3                11
+#define INTEL_S10_IRQ_SEC_SGI_4                12
+#define INTEL_S10_IRQ_SEC_SGI_5                13
+#define INTEL_S10_IRQ_SEC_SGI_6                14
+#define INTEL_S10_IRQ_SEC_SGI_7                15
+
+#define TSP_IRQ_SEC_PHY_TIMER          INTEL_S10_IRQ_SEC_PHY_TIMER
+#define TSP_SEC_MEM_BASE               BL32_BASE
+#define TSP_SEC_MEM_SIZE               (BL32_LIMIT - BL32_BASE + 1)
+/*******************************************************************************
+ * Platform memory map related constants
+ ******************************************************************************/
+#define DRAM_BASE                              (0x0)
+#define DRAM_SIZE                              (0x80000000)
+
+#define OCRAM_BASE                             (0xFFE00000)
+#define OCRAM_SIZE                             (0x00040000)
+
+#define MEM64_BASE                             (0x0100000000)
+#define MEM64_SIZE                             (0x1F00000000)
+
+#define DEVICE1_BASE                           (0x80000000)
+#define DEVICE1_SIZE                           (0x60000000)
+
+#define DEVICE2_BASE                           (0xF7000000)
+#define DEVICE2_SIZE                           (0x08E00000)
+
+#define DEVICE3_BASE                           (0xFFFC0000)
+#define DEVICE3_SIZE                           (0x00008000)
+
+#define DEVICE4_BASE                           (0x2000000000)
+#define DEVICE4_SIZE                           (0x0100000000)
+
+/*******************************************************************************
+ * BL31 specific defines.
+ ******************************************************************************/
+/*
+ * Put BL3-1 at the top of the Trusted SRAM (just below the shared memory, if
+ * present). BL31_BASE is calculated using the current BL3-1 debug size plus a
+ * little space for growth.
+ */
+
+
+#define FIRMWARE_WELCOME_STR           "Booting Trusted Firmware\n"
+
+#define BL1_RO_BASE    (0xffe00000)
+#define BL1_RO_LIMIT   (0xffe0f000)
+#define BL1_RW_BASE    (0xffe10000)
+#define BL1_RW_LIMIT   (0xffe1ffff)
+#define BL1_RW_SIZE    (0x14000)
+
+#define BL2_BASE       (0xffe00000)
+#define BL2_LIMIT      (0xffe1b000)
+
+#define BL31_BASE      (0xffe1c000)
+#define BL31_LIMIT     (0xffe3bfff)
+
+/*******************************************************************************
+ * Platform specific page table and MMU setup constants
+ ******************************************************************************/
+#define MAX_XLAT_TABLES                        8
+#define MAX_MMAP_REGIONS               16
+
+/*******************************************************************************
+ * Declarations and constants to access the mailboxes safely. Each mailbox is
+ * aligned on the biggest cache line size in the platform. This is known only
+ * to the platform as it might have a combination of integrated and external
+ * caches. Such alignment ensures that two maiboxes do not sit on the same cache
+ * line at any cache level. They could belong to different cpus/clusters &
+ * get written while being protected by different locks causing corruption of
+ * a valid mailbox address.
+ ******************************************************************************/
+#define CACHE_WRITEBACK_SHIFT                  6
+#define CACHE_WRITEBACK_GRANULE                (1 << CACHE_WRITEBACK_SHIFT)
+
+#define PLAT_GIC_BASE                  (0xFFFC0000)
+#define PLAT_GICC_BASE                 (PLAT_GIC_BASE + 0x2000)
+#define PLAT_GICD_BASE                 (PLAT_GIC_BASE + 0x1000)
+#define PLAT_GICR_BASE                 0
+
+/*******************************************************************************
+ * UART related constants
+ ******************************************************************************/
+#define PLAT_UART0_BASE                (0xFFC02000)
+#define PLAT_UART1_BASE                (0xFFC02100)
+
+#define CRASH_CONSOLE_BASE     PLAT_UART0_BASE
+
+#define PLAT_BAUDRATE                  (115200)
+#define PLAT_UART_CLOCK                (100000000)
+
+/*******************************************************************************
+ * System counter frequency related constants
+ ******************************************************************************/
+#define PLAT_SYS_COUNTER_FREQ_IN_TICKS (400000000)
+#define PLAT_SYS_COUNTER_FREQ_IN_MHZ   (400)
+
+#define PLAT_INTEL_S10_GICD_BASE       PLAT_GICD_BASE
+#define PLAT_INTEL_S10_GICC_BASE       PLAT_GICC_BASE
+
+/*
+ * Define a list of Group 1 Secure and Group 0 interrupts as per GICv3
+ * terminology. On a GICv2 system or mode, the lists will be merged and treated
+ * as Group 0 interrupts.
+ */
+#define PLAT_INTEL_S10_G1S_IRQ_PROPS(grp) \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_PHY_TIMER, GIC_HIGHEST_SEC_PRIORITY, \
+                       grp, GIC_INTR_CFG_LEVEL), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_0, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_1, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_2, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_3, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_4, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_5, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_6, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE), \
+       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_7, GIC_HIGHEST_SEC_PRIORITY, grp, \
+                       GIC_INTR_CFG_EDGE)
+
+#define PLAT_INTEL_S10_G0_IRQ_PROPS(grp)
+
+#define MAX_IO_HANDLES                   4
+#define MAX_IO_DEVICES                  4
+#define MAX_IO_BLOCK_DEVICES             2
+
+
+#endif /* __PLATFORM_DEF_H__ */
+
diff --git a/plat/intel/soc/stratix10/include/platform_private.h b/plat/intel/soc/stratix10/include/platform_private.h
deleted file mode 100644 (file)
index db0c103..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2019, Intel Corporation. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef __PLATFORM_PRIVATE_H__
-#define __PLATFORM_PRIVATE_H__
-#include <common/bl_common.h>
-
-/*******************************************************************************
- * Function and variable prototypes
- ******************************************************************************/
-void plat_configure_mmu_el3(unsigned long total_base,
-                       unsigned long total_size,
-                       unsigned long ro_start,
-                       unsigned long ro_limit,
-                       unsigned long coh_start,
-                       unsigned long coh_limit);
-
-
-void plat_configure_mmu_el1(unsigned long total_base,
-                       unsigned long total_size,
-                       unsigned long ro_start,
-                       unsigned long ro_limit,
-                       unsigned long coh_start,
-                       unsigned long coh_limit);
-
-void plat_gic_driver_init(void);
-
-void plat_arm_gic_init(void);
-
-void plat_delay_timer_init(void);
-
-unsigned long plat_get_ns_image_entrypoint(void);
-
-uint32_t plat_get_spsr_for_bl32_entry(void);
-
-uint32_t plat_get_spsr_for_bl33_entry(void);
-
-#endif /* __PLATFORM_PRIVATE_H__ */
diff --git a/plat/intel/soc/stratix10/include/stratix10_private.h b/plat/intel/soc/stratix10/include/stratix10_private.h
new file mode 100644 (file)
index 0000000..f437202
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef __S10_PRIVATE_H__
+#define __S10_PRIVATE_H__
+
+#define S10_MMC_REG_BASE       0xff808000
+
+#define EMMC_DESC_SIZE         (1<<20)
+#define EMMC_INIT_PARAMS(base)                 \
+       {       .bus_width = MMC_BUS_WIDTH_4,   \
+               .clk_rate = 50000000,           \
+               .desc_base = (base),            \
+               .desc_size = EMMC_DESC_SIZE,    \
+               .flags = 0,                     \
+               .reg_base = S10_MMC_REG_BASE,   \
+               \
+       }
+
+typedef enum {
+       BOOT_SOURCE_FPGA = 0,
+       BOOT_SOURCE_SDMMC,
+       BOOT_SOURCE_NAND,
+       BOOT_SOURCE_RSVD,
+       BOOT_SOURCE_QSPI,
+} boot_source_type;
+
+void enable_nonsecure_access(void);
+void stratix10_io_setup(int boot_source);
+
+#endif
index 7578528875726877a174f0a28cba6cd0193224f1..f4a970e75ca37bd2dcc5c636e2b66164dad9a987 100644 (file)
 #include <lib/psci/psci.h>
 
 #include "platform_def.h"
-#include "platform_private.h"
 #include "s10_reset_manager.h"
 #include "s10_mailbox.h"
 
 #define S10_RSTMGR_OFST                        0xffd11000
 #define S10_RSTMGR_MPUMODRST_OFST      0x20
 
-uintptr_t *stratix10_sec_entry = (uintptr_t *) PLAT_S10_SEC_ENTRY;
+uintptr_t *stratix10_sec_entry = (uintptr_t *) PLAT_SEC_ENTRY;
 uintptr_t *cpuid_release = (uintptr_t *) PLAT_CPUID_RELEASE;
 
 /*******************************************************************************
index f5fd8715cf086673f130e93f5a4e39e44182995f..0b8b9cd2ac7a7160f990e66b5fbcd071c5979b91 100644 (file)
@@ -21,7 +21,7 @@
 #include <lib/utils.h>
 #include <common/tbbr/tbbr_img_def.h>
 #include "platform_def.h"
-#include "aarch64/stratix10_private.h"
+#include "stratix10_private.h"
 
 #define STRATIX10_FIP_BASE             (0)
 #define STRATIX10_FIP_MAX_SIZE         (0x1000000)
index ed97f4894bcbd0b6b6a49fb0614c16aa45146681..34674b0cdbf419170f549ecb856c996dde2fb42f 100644 (file)
@@ -5,9 +5,9 @@
 #
 
 PLAT_INCLUDES          :=      \
-                       -Iplat/intel/soc/stratix10/                     \
                        -Iplat/intel/soc/stratix10/include/             \
-                       -Iplat/intel/soc/common/drivers/
+                       -Iplat/intel/soc/common/drivers/                \
+                       -Iplat/intel/soc/common/include/
 
 PLAT_BL_COMMON_SOURCES :=      \
                        lib/xlat_tables/xlat_tables_common.c            \
@@ -15,12 +15,12 @@ PLAT_BL_COMMON_SOURCES      :=      \
                        drivers/arm/gic/common/gic_common.c             \
                        drivers/arm/gic/v2/gicv2_main.c                 \
                        drivers/arm/gic/v2/gicv2_helpers.c              \
-                       plat/common/plat_gicv2.c                                \
+                       plat/common/plat_gicv2.c                        \
                        drivers/delay_timer/delay_timer.c               \
                        drivers/delay_timer/generic_delay_timer.c       \
                        drivers/ti/uart/aarch64/16550_console.S         \
-                       plat/intel/soc/stratix10/aarch64/platform_common.c \
-                       plat/intel/soc/stratix10/aarch64/plat_helpers.S \
+                       plat/intel/soc/common/aarch64/platform_common.c \
+                       plat/intel/soc/common/aarch64/plat_helpers.S
 
 BL2_SOURCES     +=     \
                drivers/partition/partition.c                           \
@@ -64,7 +64,7 @@ BL31_SOURCES  +=      drivers/arm/cci/cci.c                           \
                        plat/intel/soc/stratix10/soc/s10_pinmux.c       \
                        plat/intel/soc/stratix10/soc/s10_clock_manager.c\
                        plat/intel/soc/stratix10/soc/s10_handoff.c      \
-                       plat/intel/soc/stratix10/soc/s10_mailbox.c      \
+                       plat/intel/soc/stratix10/soc/s10_mailbox.c
 
 PROGRAMMABLE_RESET_ADDRESS     := 0
 BL2_AT_EL3                     := 1
diff --git a/plat/intel/soc/stratix10/platform_def.h b/plat/intel/soc/stratix10/platform_def.h
deleted file mode 100644 (file)
index 3ed9023..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef __PLATFORM_DEF_H__
-#define __PLATFORM_DEF_H__
-
-#include <arch.h>
-#include <common/bl_common.h>
-#include <common/interrupt_props.h>
-#include <common/tbbr/tbbr_img_def.h>
-#include <drivers/arm/gic_common.h>
-#include <plat/common/common_def.h>
-
-
-#define PLAT_CPUID_RELEASE                     0xffe1b000
-#define PLAT_S10_SEC_ENTRY                     0xffe1b008
-
-/* Define next boot image name and offset */
-#define PLAT_NS_IMAGE_OFFSET                   0x50000
-#define PLAT_HANDOFF_OFFSET                    0xFFE3F000
-
-/*******************************************************************************
- * Platform binary types for linking
- ******************************************************************************/
-#define PLATFORM_LINKER_FORMAT                 "elf64-littleaarch64"
-#define PLATFORM_LINKER_ARCH                   aarch64
-
-/* Stratix 10 supports up to 124GB RAM */
-#define PLAT_PHY_ADDR_SPACE_SIZE               (1ULL << 39)
-#define PLAT_VIRT_ADDR_SPACE_SIZE              (1ULL << 39)
-
-
-/*******************************************************************************
- * Generic platform constants
- ******************************************************************************/
-#define PLAT_PRIMARY_CPU                       0
-#define PLAT_SECONDARY_ENTRY_BASE              0x01f78bf0
-
-/* Size of cacheable stacks */
-#define PLATFORM_STACK_SIZE                    0x2000
-
-/* PSCI related constant */
-#define PLAT_NUM_POWER_DOMAINS         5
-#define PLAT_MAX_PWR_LVL               1
-#define PLAT_MAX_RET_STATE             1
-#define PLAT_MAX_OFF_STATE             2
-#define PLATFORM_SYSTEM_COUNT                  1
-#define PLATFORM_CLUSTER_COUNT                 1
-#define PLATFORM_CLUSTER0_CORE_COUNT           4
-#define PLATFORM_CLUSTER1_CORE_COUNT           0
-#define PLATFORM_CORE_COUNT            (PLATFORM_CLUSTER1_CORE_COUNT + \
-                                       PLATFORM_CLUSTER0_CORE_COUNT)
-#define PLATFORM_MAX_CPUS_PER_CLUSTER          4
-
-/* Interrupt related constant */
-
-#define INTEL_S10_IRQ_SEC_PHY_TIMER            29
-
-#define INTEL_S10_IRQ_SEC_SGI_0                8
-#define INTEL_S10_IRQ_SEC_SGI_1                9
-#define INTEL_S10_IRQ_SEC_SGI_2                10
-#define INTEL_S10_IRQ_SEC_SGI_3                11
-#define INTEL_S10_IRQ_SEC_SGI_4                12
-#define INTEL_S10_IRQ_SEC_SGI_5                13
-#define INTEL_S10_IRQ_SEC_SGI_6                14
-#define INTEL_S10_IRQ_SEC_SGI_7                15
-
-#define TSP_IRQ_SEC_PHY_TIMER          INTEL_S10_IRQ_SEC_PHY_TIMER
-#define TSP_SEC_MEM_BASE               BL32_BASE
-#define TSP_SEC_MEM_SIZE               (BL32_LIMIT - BL32_BASE + 1)
-/*******************************************************************************
- * Platform memory map related constants
- ******************************************************************************/
-#define DRAM_BASE                              (0x0)
-#define DRAM_SIZE                              (0x80000000)
-
-#define OCRAM_BASE                             (0xFFE00000)
-#define OCRAM_SIZE                             (0x00040000)
-
-#define MEM64_BASE                             (0x0100000000)
-#define MEM64_SIZE                             (0x1F00000000)
-
-#define DEVICE1_BASE                           (0x80000000)
-#define DEVICE1_SIZE                           (0x60000000)
-
-#define DEVICE2_BASE                           (0xF7000000)
-#define DEVICE2_SIZE                           (0x08E00000)
-
-#define DEVICE3_BASE                           (0xFFFC0000)
-#define DEVICE3_SIZE                           (0x00008000)
-
-#define DEVICE4_BASE                           (0x2000000000)
-#define DEVICE4_SIZE                           (0x0100000000)
-
-/*******************************************************************************
- * BL31 specific defines.
- ******************************************************************************/
-/*
- * Put BL3-1 at the top of the Trusted SRAM (just below the shared memory, if
- * present). BL31_BASE is calculated using the current BL3-1 debug size plus a
- * little space for growth.
- */
-
-
-#define FIRMWARE_WELCOME_STR           "Booting Trusted Firmware\n"
-
-#define BL1_RO_BASE    (0xffe00000)
-#define BL1_RO_LIMIT   (0xffe0f000)
-#define BL1_RW_BASE    (0xffe10000)
-#define BL1_RW_LIMIT   (0xffe1ffff)
-#define BL1_RW_SIZE    (0x14000)
-
-#define BL2_BASE       (0xffe00000)
-#define BL2_LIMIT      (0xffe1b000)
-
-#define BL31_BASE      (0xffe1c000)
-#define BL31_LIMIT     (0xffe3bfff)
-
-/*******************************************************************************
- * Platform specific page table and MMU setup constants
- ******************************************************************************/
-#define MAX_XLAT_TABLES                        8
-#define MAX_MMAP_REGIONS               16
-
-/*******************************************************************************
- * Declarations and constants to access the mailboxes safely. Each mailbox is
- * aligned on the biggest cache line size in the platform. This is known only
- * to the platform as it might have a combination of integrated and external
- * caches. Such alignment ensures that two maiboxes do not sit on the same cache
- * line at any cache level. They could belong to different cpus/clusters &
- * get written while being protected by different locks causing corruption of
- * a valid mailbox address.
- ******************************************************************************/
-#define CACHE_WRITEBACK_SHIFT                  6
-#define CACHE_WRITEBACK_GRANULE                (1 << CACHE_WRITEBACK_SHIFT)
-
-#define PLAT_GIC_BASE                  (0xFFFC0000)
-#define PLAT_GICC_BASE                 (PLAT_GIC_BASE + 0x2000)
-#define PLAT_GICD_BASE                 (PLAT_GIC_BASE + 0x1000)
-#define PLAT_GICR_BASE                 0
-
-/*******************************************************************************
- * UART related constants
- ******************************************************************************/
-#define PLAT_UART0_BASE                (0xFFC02000)
-#define PLAT_UART1_BASE                (0xFFC02100)
-
-#define CRASH_CONSOLE_BASE     PLAT_UART0_BASE
-
-#define PLAT_BAUDRATE                  (115200)
-#define PLAT_UART_CLOCK                (100000000)
-
-/*******************************************************************************
- * System counter frequency related constants
- ******************************************************************************/
-#define PLAT_SYS_COUNTER_FREQ_IN_TICKS (400000000)
-#define PLAT_SYS_COUNTER_FREQ_IN_MHZ   (400)
-
-#define PLAT_INTEL_S10_GICD_BASE       PLAT_GICD_BASE
-#define PLAT_INTEL_S10_GICC_BASE       PLAT_GICC_BASE
-
-/*
- * Define a list of Group 1 Secure and Group 0 interrupts as per GICv3
- * terminology. On a GICv2 system or mode, the lists will be merged and treated
- * as Group 0 interrupts.
- */
-#define PLAT_INTEL_S10_G1S_IRQ_PROPS(grp) \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_PHY_TIMER, GIC_HIGHEST_SEC_PRIORITY, \
-                       grp, GIC_INTR_CFG_LEVEL), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_0, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_1, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_2, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_3, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_4, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_5, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_6, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE), \
-       INTR_PROP_DESC(INTEL_S10_IRQ_SEC_SGI_7, GIC_HIGHEST_SEC_PRIORITY, grp, \
-                       GIC_INTR_CFG_EDGE)
-
-#define PLAT_INTEL_S10_G0_IRQ_PROPS(grp)
-
-#define MAX_IO_HANDLES                   4
-#define MAX_IO_DEVICES                  4
-#define MAX_IO_BLOCK_DEVICES             2
-
-
-#endif /* __PLATFORM_DEF_H__ */
-
index dc90076ce36c0c7a05050c4640c490d636dbe3f4..b4d0573548c8056c4b209d9104faf62a5cbff993 100644 (file)
@@ -10,7 +10,6 @@
 #include <drivers/delay_timer.h>
 #include <lib/mmio.h>
 #include <platform_def.h>
-#include <platform_private.h>
 
 #include "s10_clock_manager.h"
 #include "s10_handoff.h"
index 55516c08e1cb451986c615c750b825e210b7a28d..1a4d5c3267baeee409067030d225a94c954c42cf 100644 (file)
@@ -13,7 +13,6 @@
 #include <string.h>
 #include <plat/common/platform.h>
 #include <platform_def.h>
-#include <platform_private.h>
 
 #include "s10_handoff.h"
 
index 8b58db65ab1efad6e762aeec02f3dc992d702599..8b7420bf1e6317ff1b2b772269004ea4262c8ee5 100644 (file)
@@ -14,7 +14,6 @@
 #include <lib/mmio.h>
 #include <plat/common/platform.h>
 #include <platform_def.h>
-#include <platform_private.h>
 #include "s10_reset_manager.h"
 
 void deassert_peripheral_reset(void)